multiprocessing simmetrico
(Symmetric Multiprocessing)
|
Un sistema in cui CPU multiple, montate allÆinterno della stessa macchina
fisica, condividono la medesima memoria, i medesimi dischi, gli stessi
dispositivi di input/output e concorrono allÆesecuzione dello stesso
programma o della stessa applicazione. Nel multiprocessing simmetrico il
carico di lavoro viene ripartito tra le diverse CPU in modo da ottenere
una potenza di calcolo cumulativamente maggiore rispetto a quella di
ciascun processore. Nel multiprocessing asimmetrico, invece, ciascuna CPU
svolge un ruolo diverso dalle altre. La simmetria ideale esiste solo a
livello teorico e nella pratica il parallelismo di esecuzione è tanto
maggiore quanto migliore è la sua implementazione da parte del particolare
sistema operativo impiegato.
Di solito il sistema parte sotto la supervisione di una CPU primaria la
quale, successivamente carica la parte multiprocessing del sistema
operativo abilitando in tal modo le altre CPU. La configurazione minima
prevede almeno due processori accoppiati, ma si arriva fino a 32, 64 e
anche oltre. Se una sola CPU va in avaria tutto il sistema deve fermarsi
(quasi sempre può comunque riavviarsi in automatico usando le CPU che sono
rimaste attive). UnÆalternativa che garantisce maggiore protezione è
lÆimpiego di CPU ridondanti allÆinterno dello stesso sistema oppure
lÆimpiego di diversi sistemi collegati tra loro a grappolo (cluster) così
da concorrere tutti allÆelaborazione della stessa applicazione. Nel caso
in cui i sistemi collegati a grappolo siano a loro volta di tipo SMP
questa configurazione prende il nome di Massive Parallel Processor (MPP).
|
|